package com.firestone.bean.entity.elasticsearch.dm;

import com.firestone.bean.entity.elasticsearch.nested.WeightJson;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.*;

import java.io.Serializable;
import java.util.List;

/**
 * @author dingjc
 * @Description：TODO(数据工厂dm_企业标准表 Elasticsearch bean)
 *              DM数据工厂ES表不由该系统维护，请将createIndex设为false，避免系统启动时修改了大数据维护表的索引
 * @date 2018年04月18日  上午 9:13
 */
@Document( indexName = "dm_map_enterprise_standard" ,type = "index",createIndex = true)
@Setting(settingPath = "/setting/setting.json")
public class DmMapEnterpriseStandard implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    private String id;

    /**
     *  SYS_add_time : TODO(添加时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_add_time;

    /**
     *  SYS_add_time : TODO(检验时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_check_time;

    /**
     *  SYS_add_time : TODO(更改时间)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String SYS_dm_update_time;

    /**
     *  Chinese_standard_title:TODO(中文标准名称)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String Chinese_standard_title;

    /**
     *  administrative_division:TODO(行政区划)
     */
    @Field(type = FieldType.text,analyzer = "ik_max_word")
    private String administrative_division;

    /**
     *  barcode:TODO(条码)
     */
    @Field(type = FieldType.keyword)
    private String barcode;

    /**
     *  brand:TODO(品牌)
     */
    @Field(type = FieldType.text,analyzer =  "ik_max_word")
    private String brand;

    /**
     *  classify:TODO(分类)
     */
    @Field(type = FieldType.text,analyzer =  "ik_max_word")
    private String classify;

    /**
     *  common_name:TODO(通用名)
     */
    @Field(type = FieldType.text,analyzer =  "ik_max_word")
    private String common_name;

    /**
     *  enterprise_name:TODO(机构名称)
     */
    @Field(type = FieldType.text,analyzer =  "ik_max_word")
    private String enterprise_name;

    /**
     *  ext_company:TODO(提取公司)
     */
    @Field(type = FieldType.text,analyzer =  "tab_analyzer")
    private String ext_company;

    /**
     *  ext_institute:TODO(提取机构)
     */
    @Field(type = FieldType.text,analyzer =  "tab_analyzer")
    private String ext_institute;

    /**
     *  issuance_date : TODO(发布日期)
     */
    @Field(type = FieldType.Date, format = DateFormat.custom, pattern = "yyyy-MM-dd HH:mm:ss")
    private String issuance_date;

    /**
     *  legal_representative:TODO(法定代表人)
     */
    @Field(type = FieldType.keyword)
    private String legal_representative;

    /**
     *  product_name:TODO(产品名称)
     */
    @Field(type = FieldType.text,analyzer =  "ik_max_word")
    private String product_name;

    /**
     *  registered_address:TODO(注册地址)
     */
    @Field(type = FieldType.text,analyzer =  "ik_max_word")
    private String registered_address;

    /**
     *  specification_type:TODO(规格/型号)
     */
    @Field(type = FieldType.text,analyzer =  "ik_max_word")
    private String specification_type;

    /**
     *  standard_number:TODO(标准号)
     */
    @Field(type = FieldType.keyword)
    private String standard_number;

    /**
     * unified_social_creditcode:TODO(统一社会信用代码)
     */
    @Field(type = FieldType.keyword)
    private String unified_social_creditcode;

    /**
     * weight_json:字段来源
     */
    @Field(type = FieldType.Nested)
    private List<WeightJson> weight_json;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getChinese_standard_title() {
        return Chinese_standard_title;
    }

    public void setChinese_standard_title(String chinese_standard_title) {
        Chinese_standard_title = chinese_standard_title;
    }

    public String getSYS_add_time() {
        return SYS_add_time;
    }

    public void setSYS_add_time(String SYS_add_time) {
        this.SYS_add_time = SYS_add_time;
    }

    public String getSYS_check_time() {
        return SYS_check_time;
    }

    public void setSYS_check_time(String SYS_check_time) {
        this.SYS_check_time = SYS_check_time;
    }

    public String getSYS_dm_update_time() {
        return SYS_dm_update_time;
    }

    public void setSYS_dm_update_time(String SYS_dm_update_time) {
        this.SYS_dm_update_time = SYS_dm_update_time;
    }

    public String getAdministrative_division() {
        return administrative_division;
    }

    public void setAdministrative_division(String administrative_division) {
        this.administrative_division = administrative_division;
    }

    public String getBarcode() {
        return barcode;
    }

    public void setBarcode(String barcode) {
        this.barcode = barcode;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getClassify() {
        return classify;
    }

    public void setClassify(String classify) {
        this.classify = classify;
    }

    public String getCommon_name() {
        return common_name;
    }

    public void setCommon_name(String common_name) {
        this.common_name = common_name;
    }

    public String getEnterprise_name() {
        return enterprise_name;
    }

    public void setEnterprise_name(String enterprise_name) {
        this.enterprise_name = enterprise_name;
    }

    public String getExt_company() {
        return ext_company;
    }

    public void setExt_company(String ext_company) {
        this.ext_company = ext_company;
    }

    public String getExt_institute() {
        return ext_institute;
    }

    public void setExt_institute(String ext_institute) {
        this.ext_institute = ext_institute;
    }

    public String getIssuance_date() {
        return issuance_date;
    }

    public void setIssuance_date(String issuance_date) {
        this.issuance_date = issuance_date;
    }

    public String getLegal_representative() {
        return legal_representative;
    }

    public void setLegal_representative(String legal_representative) {
        this.legal_representative = legal_representative;
    }

    public String getProduct_name() {
        return product_name;
    }

    public void setProduct_name(String product_name) {
        this.product_name = product_name;
    }

    public String getRegistered_address() {
        return registered_address;
    }

    public void setRegistered_address(String registered_address) {
        this.registered_address = registered_address;
    }

    public String getSpecification_type() {
        return specification_type;
    }

    public void setSpecification_type(String specification_type) {
        this.specification_type = specification_type;
    }

    public String getStandard_number() {
        return standard_number;
    }

    public void setStandard_number(String standard_number) {
        this.standard_number = standard_number;
    }

    public String getUnified_social_creditcode() {
        return unified_social_creditcode;
    }

    public void setUnified_social_creditcode(String unified_social_creditcode) {
        this.unified_social_creditcode = unified_social_creditcode;
    }

    public List<WeightJson> getWeight_json() {
        return weight_json;
    }

    public void setWeight_json(List<WeightJson> weight_json) {
        this.weight_json = weight_json;
    }
}
